package ioc;

import ioc.v2.*;
import org.apache.catalina.User;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ApplicationContext;

@SpringBootApplication
public class SpringIocDemoApplication {

    public static void main(String[] args) {

        ApplicationContext a=  SpringApplication.run(SpringIocDemoApplication.class, args);
//        HelloController b=a.getBean(HelloController.class);
//        b.run();
//
//        HelloController b2=(HelloController) a.getBean("helloController");
//        b2.run();
//
//        HelloController b3=a.getBean(HelloController.class, "helloController");
//        b3.run();

//        UserService bean=a.getBean(UserService.class);
//        bean.run();
//        UserService bean2= a.getBean("userService", UserService.class);
//        bean2.run();
//        UserService bean3=(UserService) a.getBean("userService");
//        bean3.run();

//        UserRepository bean=a.getBean(UserRepository.class);
//        bean.run();
//        UserRepository bean2= a.getBean("userRepository", UserRepository.class);
//        bean2.run();
//        UserRepository bean3=( UserRepository) a.getBean("userRepository");//引号内不要打多空格
//        bean3.run();

//        UserComponent bean=a.getBean(UserComponent.class);
//        bean.run();
//
//        UserConfiguration bean=a.getBean(UserConfiguration.class);
//        bean.run();
//        HCer b=(HCer) a.getBean("Hcer");//前两位大写即相同，错
//        HCer b=(HCer) a.getBean("HCer");//对
//        HCer b=(HCer) a.getBean("aa");//对
//        b.run();

        StudentComponent s1=a.getBean("s1",StudentComponent.class);
        StudentComponent s2=a.getBean("s3",StudentComponent.class);
        System.out.println(s1);
        System.out.println(s2);

//        StudentComponent bean1=a.getBean(StudentComponent.class);

//        StudentComponent bean1=(StudentComponent) a.getBean("s1");
//        System.out.println(bean1);
//        StudentComponent bean2=(StudentComponent) a.getBean("s2");
//        System.out.println(bean2);
//        StudentComponent bean3=(StudentComponent) a.getBean("s3");
//        System.out.println(bean3);

//          StudentComponent bean4=(StudentComponent) a.getBean("s4");//未定义
//        System.out.println(bean4);
    }

}
